﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Tibet.GUI.Contrato;
using Tibet.Entidades;
using Tibet.Logica.Comandos.ComandoMotorMetrica;
using Tibet.Logica.Comandos;
using Tibet.Logica.FabricaLogica;
using System.Web.UI.WebControls;
using System.Web.UI;


namespace Tibet.GUI.Presentador
{
    public class PresentadorCrearPerfilMetrica
    {
        private IContratoCrearPerfilMetrica _vistaCrearPerfilMetrica;
        List<Entidad> _listaMetricas;

        #region Constructor
        /// <summary>
        /// Constructor de la clase PresentadorCrearPerfilMetrica
        /// </summary>
        /// <param name="IContratoCrearPerfilMetrica"></param>
        public PresentadorCrearPerfilMetrica(IContratoCrearPerfilMetrica vistaCrearPerfilMetrica)
        {
            this._vistaCrearPerfilMetrica = vistaCrearPerfilMetrica;

        }

        #endregion





        #region Metodos




        /// <summary>
        /// Busca todos los perfiles de metricas para mostrar en la interfaz de usuario
        /// </summary>
        public void BuscarTodosMetrica()
        {


            Comando buscarTodosMetrica = FabricaComandoMetrica.ObtenerComandoConsultarMetrica();            
            
            buscarTodosMetrica.Ejecutar();
            _listaMetricas =buscarTodosMetrica.ListaEntidad;

            _vistaCrearPerfilMetrica.PintarCheckBox(_listaMetricas);

            
        }




        public void CrearPerfilMetrica()
        {

            String script;

            if (_vistaCrearPerfilMetrica.NombrePerfilMetrica.Equals(""))
            {

                _vistaCrearPerfilMetrica.MensajeError.Text= "Llenar Campo";


            }
            else
            {

                Entidad perfilMetrica = new Entidad();


                perfilMetrica = _vistaCrearPerfilMetrica.CastearLista();

                PerfilMetrica misPerfiles = (PerfilMetrica)perfilMetrica;

                if (misPerfiles.MisMetricas.Count != 0)
                {


                    Comando crearPerfilMetrica = FabricaComandoMetrica.ObtenerComandoCrearPerfilMetrica(perfilMetrica);
                    crearPerfilMetrica.Ejecutar();
                    
                    bool flag = crearPerfilMetrica.Flag;

                    if (flag)
                        script = @"<script language = ""JavaScript""> alert('Se ha creado el perfil satisfactoriamente'); location.href=""CrearPerfilMetricas.aspx""; </script>";
                    else
                        script = @"<script language = ""JavaScript""> alert('Ha ocurrido un error al tratar de crear este perfil'); location.href=""CrearPerfilMetricas.aspx"";</script>";
                    
                    
                    _vistaCrearPerfilMetrica.MostrarMensaje(script);
                }
                else
                {

                    script = @"<script language = ""JavaScript""> alert('Error. Debe seleccionar las metricas'); location.href=""CrearPerfilMetricas.aspx""; </script>";
                    _vistaCrearPerfilMetrica.MostrarMensaje(script);
                }


            }

        }



        


        #endregion
    }
}